OpenClaw 和 Hermes Agent 对比:Hermes 真的能替代 OpenClaw 吗?

之前的文章中,有用户留言希望了解Hermes相关的知识,所以有了这篇独立观察文章。
我们换一个视角:如果 Hermes Agent 已经出现,我们还需要 OpenClaw 吗?Hermes 真的更好吗?它能不能完全替代 OpenClaw?

图:OpenClaw 与 Hermes Agent 不是简单的新旧版本关系,更像是同一类 Agent 系统在不同阶段的两种形态。

先给结论:

Hermes Agent 在工程化、平台化、可维护性和生态扩展上,整体比 OpenClaw 更成熟。
但“更成熟”不等于“在任何场景都无脑替代”。

如果你只是问:

1
我现在从零开始,该学 OpenClaw 还是 Hermes?

我的建议很明确:

优先学 Hermes Agent。

但如果你已经有一套 OpenClaw:有历史配置、有自定义 Skill、有 Telegram/Discord Bot、有 cron、有插件、有工作流,那问题就不能粗暴地变成“删掉 OpenClaw,换 Hermes”。

更合理的问题应该是:

1
2
3
4
哪些东西可以迁移?
哪些东西需要重建?
哪些东西短期不该动?
Hermes 替代 OpenClaw 的边界在哪里?

这篇文章就围绕这几个问题来讲。

一、先把关系说清楚:不是“名字换了”这么简单

很多人第一次看到 Hermes Agent,会把它理解成:

1
OpenClaw 改名叫 Hermes 了。

这个说法有一部分对,但不完整。

从本地 Hermes 文档看,Hermes 确实提供了 hermes claw migrate 迁移命令,用来把 OpenClaw、Clawdbot、Moldbot 的配置和数据导入 Hermes。

文档里明确写到:

  • 默认从 ~/.openclaw/ 读取
  • 也会自动检测旧的 ~/.clawdbot/~/.moltbot/
  • 可以迁移 persona、memory、user profile、skills、model/provider 配置、agent 行为配置、MCP、TTS、Messaging 平台配置、审批配置、browser 配置等
  • 有些复杂内容不能直接迁移,会归档到 ~/.hermes/migration/openclaw/<timestamp>/archive/ 里供人工处理

也就是说,Hermes 并不是假装自己和 OpenClaw 没关系。它承认历史系统的存在,并且提供了迁移路径。

但 Hermes 也不是只做了一层兼容壳。

从 Hermes 的架构文档看,它已经形成了一个更完整的 Agent Runtime:

1
2
3
4
5
6
7
CLI / Gateway / ACP / API Server / Batch Runner

AIAgent 核心循环

Prompt Builder / Provider Resolution / Tool Dispatch

Session Storage / Tool Backends / Plugins / Cron / MCP

换句话说:

OpenClaw 更像前一阶段的 Agent 工作台,Hermes 更像下一阶段的 Agent 操作系统。

这句话不是营销话术。它背后对应的是系统边界的变化。

图:OpenClaw、Clawdbot、Moldbot 的历史能力,可以通过迁移机制进入 Hermes,但迁移不代表所有语义都自动等价。

二、OpenClaw 的价值:它把“能动手的 AI”讲清楚了

为什么过去很多 Agent 教学内容喜欢用 OpenClaw 做样本?

不是因为它完美,而是因为它很适合作为 Agent 系统入门样本。

OpenClaw 最重要的价值,是把很多抽象概念变成了可感知的东西:

  • SOUL:Agent 的身份和长期行为边界
  • MEMORY / USER:长期记忆与用户画像
  • Skill:可复用的方法说明书
  • exec/browser/file:让 Agent 真正动手的工具
  • cron:让 Agent 定时工作
  • gateway/channel:让 Agent 从 Telegram、Discord 等入口运行
  • plugin:当 Skill 不够用时,给系统加新能力
  • 多节点:手机、VPS、树莓派之间怎么协作
  • 安全边界:审批、沙箱、权限、secret、日志

这些东西构成了一个非常重要的教学模型:

1
2
Agent 不只是聊天模型。
Agent = 模型 + 工具 + 记忆 + 身份 + 调度 + 通道 + 安全边界。

OpenClaw 让这个模型变得具体。

所以即使 Hermes 在工程上更成熟,OpenClaw 仍然有它的价值:

  1. 作为学习材料,它更容易被拆开讲。
    很多概念在 OpenClaw 里更直观:SOUL、Skill、工具、channel、plugin 都适合教学。

  2. 作为历史项目,它承载了已有配置和习惯。
    对已经运行了很久的用户来说,OpenClaw 不是“软件”,而是一套工作流资产。

  3. 作为对比样本,它能帮助我们理解 Hermes 为什么要这样设计。
    没有 OpenClaw 的经验,就很难理解 Hermes 的 profile、gateway、SQLite session、toolset、plugin、cron 为什么这么重要。

所以这篇文章不会说“OpenClaw 过时了,别看了”。

更准确地说:

OpenClaw 是理解 Agent 系统的好教材;Hermes 是更适合长期运行的工程化系统。

三、Hermes Agent 强在哪里?

我们从几个层面看。

1)统一入口更多:CLI、Gateway、ACP、API Server 都接到同一个核心

Hermes 架构文档里有一个很关键的点:

CLI、Gateway、ACP、API Server、Batch Runner 等入口,最终都驱动同一个 AIAgent 核心。

这意味着什么?

不是“能聊天的入口多”这么简单,而是:

  • 你在 CLI 里使用的是同一个 Agent 核心
  • 你在 Telegram / Discord 里使用的是同一个 Agent 核心
  • IDE 通过 ACP 接入时,仍然是同一个 Agent 核心
  • API Server 给 OpenAI-compatible frontend 使用时,也还是同一个核心

这带来的好处是:

1
能力不会因为入口不同而碎片化。

在很多早期 Agent 系统里,CLI 是一套逻辑,Bot 是一套逻辑,HTTP API 又是一套逻辑。最后用户会遇到一种很烦的问题:

1
2
3
为什么这个命令在终端能用,在 Telegram 不能用?
为什么这个工具在 Bot 里看不到?
为什么这个会话不能被另一个入口接上?

Hermes 的方向是把这些入口收敛到同一个 runtime。

图:Hermes 的多个入口最终汇聚到同一个 AIAgent 核心,减少 CLI、Bot、IDE、API 之间的能力割裂。

2)Profile 隔离更清晰:一个机器上跑多个 Agent 不再混在一起

Hermes 的 profile 是一个很关键的设计。

官方文档里说得很直接:

一个 profile 就是一个独立的 Hermes home directory。每个 profile 有自己的 config.yaml.envSOUL.md、memories、sessions、skills、cron jobs 和 state database。

这件事对长期使用非常重要。

比如你可以有:

  • openclaw-tutor:专门写教程的 Agent
  • coder:专门写代码的 Agent
  • researcher:专门做资料研究的 Agent
  • ops:专门看服务器和日志的 Agent
  • publisher:专门处理博客/公众号发布的 Agent

这些 Agent 可以共享同一台机器,但不共享记忆、不共享配置、不共享 gateway 状态。

OpenClaw 也可以做多 Agent、多 workspace,但 Hermes 把它变成了更明确的一等概念。

注意,这里也有一个安全边界:

Profile 隔离的是 Hermes 状态,不等于文件系统沙箱。

本地文档明确提醒:profile 有自己的状态目录,但在 local terminal backend 下,Agent 仍然拥有当前系统用户的文件访问权限。如果你要真正限制文件系统访问,需要配置 sandbox 或者运行环境,而不是只靠 profile。

这个提醒非常重要。

它说明 Hermes 的文档不是只讲“功能多强”,也讲边界在哪里。

3)记忆和 Skill 更制度化

Hermes 对 memory 和 skills 的区分更明确。

FAQ 里有一个非常好的解释:

  • Memory 存事实:用户偏好、项目事实、环境信息、学到的稳定知识
  • Skill 存流程:这类任务应该怎么做的步骤、检查清单、经验方法

Skills 文档里也强调了 progressive disclosure:

1
2
3
skills_list()        先看有哪些技能
skill_view(name) 需要时加载完整内容
skill_view(name,path) 再读取引用文件

这样做的核心目的,是减少 token 浪费。

这比“把所有规则都塞进系统提示词”更可持续。

对于长期运行的 Agent 来说,这一点非常关键。因为真正的问题不是“今天能不能完成一个任务”,而是:

1
三个月后,它还能不能用稳定、可维护的方式继续完成任务?

Hermes 在这方面明显更系统化。

图:Hermes 把 Memory 和 Skill 分开:Memory 记录事实,Skill 记录流程,避免把所有经验都塞进同一块提示词。

4)Gateway 更像长期运行服务,而不是简单 Bot

Hermes 的 messaging gateway 支持很多平台:Telegram、Discord、Slack、WhatsApp、Signal、Email、Matrix、Feishu、WeCom、Weixin、Home Assistant、API Server、Webhooks 等。

文档中对 gateway 的描述不是“消息转发器”,而是:

  • 接收各平台消息
  • 做用户授权和 allowlist
  • 维护 per-chat session
  • 把消息派发给 AIAgent
  • 运行 cron scheduler
  • 支持 slash command
  • 支持文件、图片、语音、线程等平台能力

这就意味着 Hermes 的 gateway 更像一个长期运行的 Agent 服务进程。

OpenClaw 也强调 channel 和多平台,但 Hermes 在“统一 session、统一命令、统一 gateway 管理”上更成熟。

5)Cron 是一等 Agent 任务

Hermes 的 cron 不是传统意义上的 shell cron。

文档里强调:

Cron jobs are first-class agent tasks, not shell tasks.

它可以:

  • 一次性或周期性运行
  • 绑定一个或多个 skills
  • 指定 profile
  • 指定 workdir
  • 交付到 origin chat、本地文件或平台目标
  • 以 no-agent 模式只跑脚本

这个设计很适合“自动化助理”场景。

比如:

1
2
3
每天早上 9 点读技术博客 → 总结 → 发到 Telegram
每小时检查服务器状态 → 异常才提醒
每周整理项目进展 → 生成下一步行动建议

这些不是一次性对话,而是长期自动任务。

Hermes 在这方面的表达更清晰。

6)迁移路径是官方能力,不是民间脚本

Hermes 提供 hermes claw migrate

本地迁移文档里写得很细:

  • hermes claw migrate:预览后迁移
  • hermes claw migrate --dry-run:只预览,不写入
  • hermes claw migrate --preset full --migrate-secrets --yes:完整迁移,包括 API key,并跳过确认

注意:secrets 默认不会静默迁移,必须显式加 --migrate-secrets

这个设计是对的。

因为迁移 secret 是高风险操作,不能因为用户选择了 full preset 就偷偷复制 token/API key。

同时,迁移前默认会创建 ~/.hermes/ 的 pre-migration backup。遇到不能直接迁移的内容,也不是丢掉,而是归档供人工检查。

这说明 Hermes 对“从 OpenClaw 迁过来”这件事不是随便支持一下,而是认真做成了用户路径。

图:Hermes 的迁移流程强调 preview、backup、conflict handling 和 secret 显式授权,而不是盲目覆盖。

四、那 Hermes 真的比 OpenClaw 更好吗?

如果从长期工程使用角度,我会回答:

是的,Hermes Agent 整体更好。

但这个“更好”要拆开看。

Hermes 更好的地方

1. 架构更统一
多个入口最终接到同一个 AIAgent 核心,减少入口能力割裂。

2. 状态管理更清楚
profile、sessions、memory、skills、cron、gateway 都有更明确的位置和生命周期。

3. 可扩展性更正式
插件、MCP、tool registry、provider resolution、gateway adapters、ACP、API Server 都是更工程化的扩展点。

4. 更适合长期运行
gateway、cron、profile、session storage、memory、skill curator 等能力,都是长期使用需要的。

5. 迁移路径更安全
有 dry-run、preview、backup、conflict handling、secret 显式迁移、archive review。

6. 生态定位更清楚
Hermes 不只是一个聊天 bot,也不只是一个本地 CLI,而是一个跨入口、跨平台、可扩展的 Agent runtime。

Hermes 不一定更好的地方

但我们也要说反面。

1. 学习曲线更陡
Hermes 的概念更多:profile、toolset、gateway、cron、plugin、MCP、ACP、memory provider、context engine、API server……对新手来说,反而可能不如 OpenClaw 直观。

2. 系统更复杂,排错成本也更高
功能越多,状态越多。出了问题,你要判断是:

  • model/provider 配置问题?
  • gateway 没重启?
  • profile 用错?
  • toolset 没启用?
  • skill 没加载?
  • memory 是旧 session 快照?
  • cron 跑在另一个 profile?
  • workdir 不对?
  • terminal backend 不对?

这比一个简单 Agent 系统更难排查。

3. OpenClaw 旧插件/旧 channel 不一定能直接复用
迁移文档里明确把一些内容归档,而不是自动转成 Hermes 等价物:比如 plugins、hooks/webhooks、复杂 channels、multi-agent list、channel bindings 等。

这意味着:

1
OpenClaw 的可迁移资产 ≠ OpenClaw 的所有行为都能自动等价复现。

4. 如果你的 OpenClaw 已经稳定运行,迁移本身就是风险
一个稳定跑了很久的 Agent,即使架构旧,也可能比一个刚迁好的新系统更可靠。

所以不要为了“新”而迁移。

迁移应该服务于目标:更好的维护、更强的扩展、更清晰的隔离、更统一的入口。

五、Hermes 能不能完全替代 OpenClaw?

答案要分三层。

第一层:对新用户,基本可以替代

如果你从零开始,没有历史 OpenClaw 配置,那我建议直接从 Hermes 学起。

原因很简单:

  • Hermes 是更完整的新 runtime
  • 文档和命令围绕 Hermes 维护
  • profile、gateway、cron、skills、plugins、MCP、ACP 都在 Hermes 体系里演进
  • 新生态大概率围绕 Hermes 展开

对新用户来说,继续从 OpenClaw 起步的意义主要是学习历史概念,而不是作为生产系统首选。

第二层:对普通 OpenClaw 用户,大部分可以迁移

如果你的 OpenClaw 主要包含:

  • SOUL.md
  • MEMORY.md / USER.md
  • skills
  • 模型/provider 配置
  • Telegram/Discord/Slack 等基本平台 token
  • MCP servers
  • TTS 配置
  • browser 配置
  • exec timeout / sandbox 等基础行为

那 Hermes 的迁移机制覆盖得比较好。

你可以先跑:

1
hermes claw migrate --dry-run

看清楚会迁移什么、冲突什么、归档什么。

然后再决定是否执行真正迁移。

第三层:对深度定制用户,不能说完全替代

如果你的 OpenClaw 已经有大量深度定制,比如:

  • 自写 plugin
  • 自写 channel adapter
  • 复杂 hook/webhook
  • 非标准 memory backend
  • 多 agent 绑定关系
  • 特殊 channel bindings
  • 自定义 UI/identity/logging 机制
  • 依赖 OpenClaw 内部实现细节的脚本

那就不能说 Hermes “完全替代”。

更准确的说法是:

Hermes 可以作为替代目标,但迁移过程需要设计,而不是一键完成。

你要先把资产分类:

1
2
3
4
可直接迁移:persona / memory / skills / 基础配置
可半自动迁移:provider / gateway / MCP / TTS / approvals
需要人工重建:复杂 plugins / hooks / channel bindings / multi-agent 拓扑
需要重新设计:依赖旧内部实现的脚本和运维流程

图:Hermes 可以覆盖 OpenClaw 的大部分常规使用场景,但深度定制部分需要人工重建和重新验证。

六、应该怎么决策:一个实用判断表

为了避免口号化,我们可以用下面这套判断。

适合直接上 Hermes 的情况

如果你符合下面任意几条,可以优先使用 Hermes:

  • 你还没有历史 OpenClaw 资产
  • 你想用 Telegram/Discord/Slack 等多平台长期对话
  • 你需要 profile 隔离多个 Agent
  • 你需要 cron 定时任务
  • 你想把 skills 作为长期流程资产管理
  • 你需要 MCP、ACP、API Server 等集成入口
  • 你希望以后写插件、接 provider、扩展 tool
  • 你更关心长期维护,而不是短期熟悉感

适合暂缓迁移的情况

如果你符合下面这些情况,就不要急:

  • OpenClaw 现在稳定跑着,且没有明显痛点
  • 你有很多自定义 plugin/channel/hook
  • 你的自动化任务涉及生产系统
  • 你的 Bot 服务不能接受停机和不确定行为
  • 你还没搞清楚 Hermes profile、gateway、cron 的工作方式
  • 你没有备份,也没跑过 dry-run

最稳妥的迁移策略

我的建议是分阶段:

1
2
3
4
5
6
7
第一步:只学习 Hermes,不动现有 OpenClaw
第二步:新建 Hermes profile,复刻一个低风险 Agent
第三步:迁移 skills 和 memory,不迁移 secret
第四步:迁移一个非核心平台,比如测试 Telegram bot
第五步:迁移 cron / MCP / gateway
第六步:重建 plugin / hook / channel 深度定制
第七步:稳定一段时间后,再考虑停用旧 OpenClaw

这才是工程化迁移。

不要一上来就:

1
hermes claw migrate --preset full --migrate-secrets --yes

这条命令不是不能用,而是不适合当第一步。

第一步应该永远是:

1
hermes claw migrate --dry-run

看清楚,再动手。

七、常见坑

坑 1:以为 profile 就是沙箱

不是。

Profile 隔离的是 Hermes 状态,不是系统文件权限。local backend 下,Agent 仍然是当前系统用户权限。

如果你要限制文件访问,要考虑 sandbox、容器、单独系统用户、权限隔离,而不是只建 profile。

坑 2:以为迁移后当前会话立刻拥有新 memory / skill

Hermes 的 memory 和 skill 注入通常是 session 启动时的快照。

迁移或修改后,要新开 session,必要时重启 gateway。

坑 3:默认迁移 secret

Hermes 的迁移设计里,secret 不会因为 preset 是 full 就自动迁移。

你必须显式加 --migrate-secrets

这是安全设计,不是麻烦。

坑 4:把归档内容当成“已经迁移成功”

迁移文档里有一类 archived 内容:plugins、hooks/webhooks、复杂 channels、multi-agent list、channel bindings 等。

这些只是被保存下来,不代表已经在 Hermes 中可用。

坑 5:迁移后不做验证

迁移不是结束,验证才是结束。

你至少要检查:

  • hermes status
  • provider API key 是否可用
  • gateway 是否能收发消息
  • skills 是否出现在 skills list
  • cron 是否按预期执行
  • profile 是否正确
  • workdir 是否正确
  • secret 是否没有泄漏到文章、日志、截图里

图:迁移后的验证清单:状态、provider、gateway、skills、cron、profile、workdir、secret 都要检查。

八、安全边界

这一节单独拿出来讲,因为“替代系统”最容易犯安全错误。

1)不要在文章、截图、日志里暴露 token

迁移 OpenClaw 到 Hermes 时,可能涉及:

  • Telegram Bot Token
  • Discord Bot Token
  • Slack Token
  • OpenRouter / OpenAI / Anthropic / Gemini API Key
  • Gateway Token
  • TTS Provider Key

这些东西不要贴到聊天里,不要写进文章,不要截图公开。

2)先 dry-run,再迁移

迁移前先跑:

1
hermes claw migrate --dry-run

看清楚:

  • 会写哪些文件
  • 会跳过哪些内容
  • 会冲突哪些内容
  • 哪些内容会 archive
  • 是否涉及 secret

3)迁移前备份,迁移后保留旧系统一段时间

不要迁完立刻删旧 OpenClaw。

更稳妥的方式是:

1
新旧并行一段时间 → 对比关键任务 → 确认稳定 → 再停旧系统

4)生产任务不要一次性迁完

如果你的 Agent 已经负责服务器巡检、告警、发布、数据同步,不要一次性迁移所有任务。

先迁一个低风险任务,观察几天。

5)确认 gateway token 和 bot token 不被多个 profile 误用

Hermes 支持多个 profile,每个 profile 可以有自己的 gateway。

但如果两个 profile 误用了同一个 bot token,就可能造成消息路由混乱。Hermes 有 token lock 机制,但你仍然应该主动检查 .env

九、我的判断:不是“谁赢了”,而是“阶段变了”

如果把 OpenClaw 和 Hermes 放在同一条线上看,我会这样理解:

1
2
OpenClaw:帮助我们理解 Agent 系统应该具备什么能力
Hermes:把这些能力工程化、平台化、长期化

所以问题不应该是:

1
Hermes 是不是打败了 OpenClaw?

而应该是:

1
2
3
4
5
我现在处在什么阶段?
我需要学习概念,还是需要长期运行?
我是在做实验,还是在做生产工作流?
我有没有历史资产?
我能不能承受迁移风险?

如果你是新用户,答案简单:直接学 Hermes。

如果你是 OpenClaw 老用户,答案更像一次系统升级:

Hermes 值得迁,但不要盲迁。

十、总结

这篇文章完成了 OpenClaw 和 Hermes Agent 的第一轮对比。

最重要的结论有 8 个:

  1. Hermes 不是简单改名,而是更工程化的 Agent Runtime。
  2. OpenClaw 的价值仍然存在:它很适合教学,也承载了历史工作流资产。
  3. Hermes 在统一入口、profile、memory、skills、gateway、cron、plugin、迁移安全上更成熟。
  4. Hermes 对新用户基本可以替代 OpenClaw。
  5. 普通 OpenClaw 用户大部分资产可以迁移,但要先 dry-run。
  6. 深度定制用户不能指望完全一键替代,plugins/hooks/channel bindings 等需要人工重建。
  7. Profile 不是沙箱,secret 迁移必须显式授权。
  8. 最稳妥的方式是新旧并行、分阶段迁移、逐步验证。

如果只记一句话:

Hermes 更适合未来,OpenClaw 仍然适合理解过去;迁移不是站队,而是工程决策。

图:选择 OpenClaw 还是 Hermes,不是信仰问题,而是根据新用户、普通迁移、深度定制、生产风险来做决策。


🦞 本文由八条撰写,持续更新中。